--
--   Title: Nishan Gateway MIB
--   Description: 
--   This MIB contains management objects for Nishan iFCP gateway support. 
--   This MIB is supported on IPS Series 1000 gateways and Saturn switches.
--   Version 1.0
--
--  Revision history:
--
--  10/??/00: initial version created.
--   
--  4/24/01: minor corrections to compile without warnings in SMICng. 
--
--  5/11/01: added DURABLE keyword for saturn objects to be saved to flash.
--
--  5/24/01: added new variable localPeerAction, updated enumerated values
--       for localPeerFailoverStatus and rmtPeerAction.
--
--  5/28/01: changed allowed range for localPeerHoldTime and
--       remotePeerDefaultHoldTime
--
--  6/12/01: added localPeerFailoverTable
--
--  6/15/01: corrected range on rmtPeerLocalGigeIndex
--
--  6/28/01: changed allowed range for localPortHoldTime
--  6/29/01: changed allowed range for localPortHoldTime again for testing
-- 
--  9/25/01: changed default value for remotePeerDefautlHoldTimer and
--      for  localPortHoldTime
--  9/26/01: changed allowed range for localPortHoldTime
--      fixed indentation, again.
--
--  11/16/01: added localPortBackupConnect
--
--  12/11/01: changed allowed range for remotePeerDefaultHoldTime,
--       rmtPeerHoldTime and lclPeerRemoteHoldTime to 10 - 90 seconds,
--       default 30.
--
--  05/24/02: clarified Remote Peer and Local Peer table descriptions.
--       added lclPeerFailoverCount, lclPeerDiscoveredPathMtuSize,
--       rmtPeerDiscoveredPathMtuSize, rmtPeerMaxMtuSize
--
--  06/14/02: made rmtPeerMaxMtuSize read-only.  Max MTU size is now set per
--       port in the Nishan Mgt MIB
--
--  03/07/03: added rmtPeerTcpWindowSize to rmtPeerTable, and added
--       lclPeerTcpWindowSize to lclPeerRedundantSupportTable.
--
--  03/12/03: Included support for IPS 5000 series and 3350 models.
--
--  04/11/03: added new rmtConnectionCount and rmtConnectionTable to
--       replace rmtPeerTable.
--
--  04/17/03: added rmtConnTcpTotalSlowStarts variable to count slow starts
--       in iFCP remote peer connections.
--
--  04/27/03: improved the description for rmtConnTcpTotalSlowStarts.
--
--  05/21/03: update rmtConnConnectionStatus and lclPeerConnectionStatus
--       descriptions.

NISHAN-GTWY DEFINITIONS ::= BEGIN

IMPORTS
     MODULE-IDENTITY,
     OBJECT-TYPE,
     IpAddress,
     Gauge32,
     Counter32,
     TimeTicks,
     Unsigned32
          FROM SNMPv2-SMI
     DisplayString,
     RowStatus
          FROM SNMPv2-TC
     nishanMgmt
          FROM NISHAN-MGT
;

nishanGtwyPeer     MODULE-IDENTITY
      LAST-UPDATED     "0304270000Z"
      ORGANIZATION     "Nishan Systems, Inc"
      CONTACT-INFO     "Nishan Systems, Inc
             Attn: Network Management
                3850 North First Street
                San Jose, CA 95134
                USA
                Tel : +1 408 519-3700
                email : snmp@nishansystems.com"
     DESCRIPTION  "The private MIB for Nishan Switch Management"
     REVISION     "0304270000Z"
     DESCRIPTION
                 "Public release of this MIB module, as of 4/27/03."
  ::=  {  nishanMgmt 11  }


-- =======================================================================
-- iFCP Gateway
-- =======================================================================

-- ----------------------------------------
-- Local SAN configuaration
-- The following setup parameters are used to configure the gateway 
-- to manage the local SAN 
-- ----------------------------------------
localSAN        OBJECT IDENTIFIER ::= { nishanGtwyPeer 1 }

remotePeerDefaultHoldTime  OBJECT-TYPE
    SYNTAX  INTEGER ( 10 .. 90 )
    MAX-ACCESS  read-write
    STATUS  current
--  UNITS       "seconds"
    DESCRIPTION 
"DURABLE: { 30 }
The hold time, in seconds, used by default between the local and
remote peers. Valid values are 10 .. 90."
    DEFVAL   {30}
    ::= { localSAN 1 }

localSanId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
"The SAN ID of the local network.  The format is a 4-Byte unsigned value."
    ::= { localSAN 2 }

localSanIdOnNextReset OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
"DURABLE: 
The SAN ID of the local network after system reset. 
The format is a 4-Byte unsigned value."
    ::= { localSAN 3 }

localRecoveryAction  OBJECT-TYPE
-- This variable is only implemented on 1000 Series gateways, 
-- which provide box-level redundancy.
-- On the 3000, 4000 and 5000 Series, this function is provided 
-- separately for each port, in the localPortFailoverTable.
    SYNTAX  INTEGER { manual(0), automatic(1) }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION 
"DURABLE: { manual }
Determines the recovery action for remote connections when
this gateway comes back up or when a link state comes back up:
    Manual(0)-    Connections currently handled by the local backup gateway
                  are left down in this gateway.  The connections continue to
                  be handled by the backup gateway. To transfer the connection
                  back to this gateway, the user must manually disable and 
                  re-enable the connection on this gateway.
    Automatic(1)- Connections currently handled by the local backup gateway
                  are terminated in the backup gateway.  If the connection is
                  enabled, this gateway re-opens the connection. The backed-up
                  connections are transferred back to this gateway automatically."
    DEFVAL {manual}
    ::= { localSAN 4 }

localRecoverNow  OBJECT-TYPE
-- This variable is only implemented on 1000 Series gateways, 
-- which provide box-level redundancy.
-- On the 3000, 4000 and 5000 Series, this function is provided 
-- separately for each port, in the localPortFailoverTable.
    SYNTAX  INTEGER { idle(0), recover(1) }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION 
"When localRecoveryAction is set to Manual(0), localRecoverNow is used to
trigger a manual recovery of connections previously transferred to a backup
gateway. When read, localRecoverNow always returns 0.  Setting localRecoverNow 
to 0 has no effect.  Setting localRecoverNow to 1 causes the gateway to:
    - inform the backup gateway to terminate all active backup connections.
    - re-establish primary connections to replace the backup connections.
If there are no connections being backed up, or when localRecoveryAction is
set to Automatic(1), setting localRecoverNow to 1 has no effect."
    DEFVAL {idle}
    ::= { localSAN 5 }


-- the following table is supported on 1000 Series gateways only.  It provides
-- configuration of box-level redundancy.

localPeerFailoverTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LocalPeerFailoverEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
"This table contains the list of backup gateways that are backing up 
the gateway being configured."
    ::= { localSAN 6 }

localPeerFailoverEntry  OBJECT-TYPE
    SYNTAX      LocalPeerFailoverEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
"The default information relating to local peer Failover configuration."
    INDEX       {localPeerFailoverIpAddress}
    ::= { localPeerFailoverTable 1 }

LocalPeerFailoverEntry ::= SEQUENCE {
    localPeerFailoverIpAddress     IpAddress,
    localPeerHoldTime              INTEGER,
    localPeerAction                INTEGER,
    localPeerFailoverStatus        INTEGER,
    localPeerRowStatus             RowStatus
}

localPeerFailoverIpAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
"The IP Address of the local peer gateway which is providing
fail-over Support for this gateway."
    ::= { localPeerFailoverEntry 1 }

localPeerHoldTime   OBJECT-TYPE
    SYNTAX      INTEGER ( 10 .. 90 )
    MAX-ACCESS  read-create
    STATUS      current
--  UNITS       "seconds"
    DESCRIPTION 
"The hold time used between the gateway and the local peer
providing fail-over support."
    DEFVAL   {10}
    ::= { localPeerFailoverEntry 2 }

localPeerAction  OBJECT-TYPE
    SYNTAX      INTEGER { disable(0), enable(1) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
"Administrative status for the connection to the backup gateway.  
If set to 1 (enable), the gateway described in this table entry
acts as a backup for the gateway being configured."
    DEFVAL {disable}
    ::= { localPeerFailoverEntry 3 }


localPeerFailoverStatus  OBJECT-TYPE
    SYNTAX      INTEGER { down(0), accepted(1), rejected(2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
"The status of the local peer gateway that is providing fail-over support.  
     down - the configured local peer cannot be reached,
            or the local peer connection is disabled.
     accepted - the specified local peer has accepted the fail-over request.
     rejected - the specified local peer has rejected the fail-over request.
"
    DEFVAL      {down}
    ::= { localPeerFailoverEntry 4 }


localPeerRowStatus  OBJECT-TYPE
      SYNTAX      RowStatus
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
"This indicates the status of this entry.  The row status is for creating 
the row entry.  It does not show the status of the connection.  The
connection status is determined by the Action and Status attributes.
      active (1),         read-write
      notInService (2),   read-write
      notReady (3),       read-only
      createAndGo (4),    write-only
      createAndWait (5),  write-only
      destroy (6),        write-only"
      ::= { localPeerFailoverEntry 5 }


-- the following table is supported on 3000, 4000 and 5000 Series switches
-- with TCP support (currently models 3300, 3350, 4300, 5300, 5400).  This 
-- table provides redundancy configuration per port.

localPortFailoverTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LocalPortFailoverEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
"This table configures an optional backup port for each TCP port.  
The backup port may be on the same switch or a different switch.
Rows are not created or deleted in this table.  There is one 
permanent row for each TCP port in the switch."
    ::= { localSAN 7 }

localPortFailoverEntry  OBJECT-TYPE
    SYNTAX      LocalPortFailoverEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
"Configuration information for one port backup."
    INDEX       {localPortIndex}
    ::= { localPortFailoverTable 1 }

LocalPortFailoverEntry ::= SEQUENCE {
    localPortIndex                 INTEGER,
    localPortFailoverIpAddress     IpAddress,
    localPortHoldTime              INTEGER,
    localPortAction                INTEGER,
    localPortFailoverStatus        INTEGER,
    localPortRecoveryAction        INTEGER,
    localPortRecoverNow            INTEGER,
    localPortBackupConnect         INTEGER
}

localPortIndex OBJECT-TYPE
    SYNTAX      INTEGER (1..16)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
"The number of the TCP port being backed up."
    ::= { localPortFailoverEntry 1 }

localPortFailoverIpAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
"DURABLE:
The internal proxy IP Address of the TCP port which is providing
backup for this port.  This may be the internal proxy address of
a port on this same switch, or a different switch."
    ::= { localPortFailoverEntry 2 }

localPortHoldTime   OBJECT-TYPE
    SYNTAX      INTEGER ( 5 .. 60 )
    MAX-ACCESS  read-write
    STATUS      current
--  UNITS       "seconds"
    DESCRIPTION 
"DURABLE: { 5:all }
The time-out value, in seconds, that the backup port should wait
before declaring the primary port as down.  If the primary port
remains unreachable for this period of time, the backup port will
take over the primary port's remote connections."
    DEFVAL       {5}
    ::= { localPortFailoverEntry 3 }

localPortAction  OBJECT-TYPE
    SYNTAX        INTEGER { disable(0), enable(1) }
    MAX-ACCESS    read-write
    STATUS        current
    DESCRIPTION 
"DURABLE: { disable:all }
Administrative status for the port backup.  
If set to 1 (enable), the backup port takes over the primary
port's connections if the hold time expires. If set to 0 (disable)
the backup port does not monitor the primary port, and does not
detect a primary port failure."
    DEFVAL {disable}
    ::= { localPortFailoverEntry 4 }


localPortFailoverStatus  OBJECT-TYPE
    SYNTAX      INTEGER { down(0), accepted(1), rejected(2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
"The status of the port backup configuration.  
     down - the configured backup port cannot be reached,
            or the port backup operation is disabled.
     accepted - the specified backup port has accepted the fail-over request.
     rejected - the specified backup port has rejected the fail-over request.
"
    DEFVAL {down}
    ::= { localPortFailoverEntry 5 }

localPortRecoveryAction  OBJECT-TYPE
    SYNTAX      INTEGER { manual(0), automatic(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
"DURABLE: { manual:all }
Determines the recovery action when this port or this switch comes back up:
    Manual(0)-    Connections currently handled by the backup port
                  are left down for this port.  The connections continue to
                  be handled by the backup port. To transfer the connection
                  back to this port, the user should use the localPortRecoverNow 
                  variable.
    Automatic(1)- Connections currently handled by the backup port
                  are terminated in the backup switch.  If the connection is
                  enabled, this port re-opens the connection. The backed-up
                  connections are transferred back to this port automatically."
    DEFVAL {manual}
    ::= { localPortFailoverEntry 6 }

localPortRecoverNow  OBJECT-TYPE
    SYNTAX      INTEGER { idle(0), recover(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
"DURABLE: { idle:all }
When localPortRecoveryAction is set to Manual(0), localPortRecoverNow is used to
trigger a manual recovery of connections previously transferred to a backup
port. When read, localPortRecoverNow always returns 0.  Setting localPortRecoverNow 
to 0 has no effect.  Setting localPortRecoverNow to 1 causes this port to:
    - inform the backup port to terminate all active backup connections.
    - re-establish primary connections to replace the backup connections.
If there are no connections being backed up, or when localPortRecoveryAction is
set to Automatic(1), setting localPortRecoverNow to 1 has no effect."
    DEFVAL {idle}
    ::= { localPortFailoverEntry 7 }

localPortBackupConnect  OBJECT-TYPE
    SYNTAX      INTEGER { primaryFirst(1), backupOnly(2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
"DURABLE: { primaryFirst:all }
The remote port that the backup port should connect to when
the backup link is activated.
If set to 'primary', the backup port attempts to connect to the
remote primary address first.  If that times out, the backup port
attempts to connect to the remote backup address.  If set to
'backup', the backup port attempts to connect only to the remote
backup address.  
If the backup path is isolated from the primary path (no 
connectivity from the local backup port to the remote primary address), 
set this parameter to 'backupOnly' to recover from a link failure 
more quickly."
    DEFVAL {primaryFirst}
    ::= { localPortFailoverEntry 8 }

--
-- iFCP Remote Peer Configuration
--

remotePeer            OBJECT IDENTIFIER ::= { nishanGtwyPeer 2 }

-- Note: the rmtPeerTable below is used in switch software versions
--   4.0 and earlier.  In 4.1 and later versions, the rmtPeerTable 
--   is replaced by the rmtConnectionTable.

rmtPeerTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF RmtPeerEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION 
"The remote peer table contains the configured list of remote gateways.
 The remote peer table provides the ability to export zones to a remote
 peer gateway.  It also shows the current status of the exported zones."
      ::= { remotePeer 1 }

rmtPeerEntry OBJECT-TYPE
      SYNTAX      RmtPeerEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION 
"The information relating to the specified remote peer."
      INDEX       { rmtPeerPrimaryIPAddress }
      ::= { rmtPeerTable 1 }

RmtPeerEntry ::= SEQUENCE {
                rmtPeerPrimaryIPAddress      IpAddress,
                rmtPeerFailoverIPAddress     IpAddress,
                rmtPeerLocalGigeIndex        INTEGER,
                rmtPeerHoldTime              INTEGER,
                rmtPeerExpZoneListBitMap     OCTET STRING,
                rmtPeerAction                INTEGER,
                rmtPeerConnectionStatus      INTEGER,
                rmtPeerConnectionDesc        DisplayString,
                rmtPeerRmtSanID              Unsigned32,
                rmtPeerRcvBytes              Counter32,
                rmtPeerXmtBytes              Counter32,
                rmtPeerConnections           Gauge32,
                rmtPeerLatency               Gauge32,
                rmtPeerLostConnections       Counter32,
                rmtPeerLostPackets           Counter32,
                rmtPeerTotalPackets          Counter32,
                rmtPeerUpTime                TimeTicks,
                rmtPeerDiscoveredPathMtuSize INTEGER,
                rmtPeerMaxMtuSize            INTEGER,
                rmtPeerRowStatus             RowStatus,
                rmtPeerTcpWindowSize         INTEGER
}

rmtPeerPrimaryIPAddress OBJECT-TYPE
      SYNTAX      IpAddress
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
"The external IP Address of the primary remote peer gateway
 that this entry corresponds to."
      ::= { rmtPeerEntry 1 }

rmtPeerFailoverIPAddress OBJECT-TYPE
      SYNTAX      IpAddress
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
"The IP Address of the failover remote peer gateway used
 to backup the primary peer gateway.  If no backup has
 been configured then the entry is set to all 0's."
      ::= { rmtPeerEntry 2 }

rmtPeerLocalGigeIndex OBJECT-TYPE
      SYNTAX      INTEGER ( 1 .. 16)
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION 
"The Gigabit Ethernet port index being used for this connection
 on the switch."
      ::= { rmtPeerEntry 3 }

rmtPeerHoldTime   OBJECT-TYPE
    SYNTAX      INTEGER ( 10 .. 90 )
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
"The hold time, measured in seconds, used between the local
 and remote peers."
    DEFVAL      {30}
    ::= { rmtPeerEntry 4 }

rmtPeerExpZoneListBitMap OBJECT-TYPE
    SYNTAX      OCTET STRING ( SIZE (64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
"A bit map indicating the zones requested to be exported from the 
 local peer to the remote peer indicated.  Zone 1 is represented
 by the least significant bit (rightmost) of byte 0."
    ::= { rmtPeerEntry 5 }

rmtPeerAction     OBJECT-TYPE
    SYNTAX      INTEGER { disable(0), enable(1) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
"This connection is enabled by setting the remotePeerAction status
 to Enabled."
      DEFVAL      { disable }
    ::= { rmtPeerEntry 6 }

rmtPeerConnectionStatus  OBJECT-TYPE
    SYNTAX      INTEGER { down(0), standby(1), primaryactive(2),
                          failoveractive(3), backup(4) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
"This indicates the current status of the connection.
             down(0) - Connection is not operating.
          standby(1) - This value is not used.
    primaryactive(2) - This gateway is connected to the remote
                       primary gateway.
   failoveractive(3) - This gateway is connected to the remote
                       backup gateway.
           backup(4) - The connection is not operating on this
                       gateway, but has been activated on our
                       backup gateway.
"
    ::= { rmtPeerEntry 7 }

rmtPeerConnectionDesc  OBJECT-TYPE
      SYNTAX      DisplayString (SIZE (0..32))
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
"A string describing the connection.  Used for management purposes."
      DEFVAL      { "" }
    ::= { rmtPeerEntry 8 }

rmtPeerRmtSanID   OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
"The SAN ID of the remote SAN.  The format is a 4-Byte unsigned value.
 This is determined throught inter-gateway communication."
    ::= { rmtPeerEntry 9 }

rmtPeerRcvBytes   OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
"The total number of bytes received from the remote gateway since
 the connection was first established, including MAC headers and
 CRC."
  ::= { rmtPeerEntry 10 }

rmtPeerXmtBytes   OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
"The total number of bytes transmitted by this gateway since the
 connection was first established, including MAC headers and CRC."
  ::= { rmtPeerEntry 11 }

rmtPeerConnections  OBJECT-TYPE
    SYNTAX          Gauge32 
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
"The current number of initiator/target pair data connections,
 between the local and remote gateway, using the iFCP link.
 For example, if one local server uses four remote disks, four
 connections are counted."
    ::= { rmtPeerEntry 12 }

rmtPeerLatency OBJECT-TYPE
  SYNTAX      Gauge32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The round trip time (RTT) between the local and remote gateways,
 measured in milliseconds, of the most recent connection
 keep-alive message.  The RTT measurement is updated at one-third
 the interval of the rmtPeerHoldTime of the connection."
  ::= { rmtPeerEntry 13}

rmtPeerLostConnections OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The number of initiator/target pair data connections, between the
 local and remote gateway, that had to be abnormally terminated.
 The reason the connections were terminated may be because the
 hold time expired, the port link status went down, or other
 action that caused lost connectivity on the link."
  ::= { rmtPeerEntry 14}

rmtPeerLostPackets OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The number of TCP segments sent by this gateway that had to be
 retransmitted."
  ::= { rmtPeerEntry 15 }

rmtPeerTotalPackets OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The number of TCP segments transmitted by this gateway.  This
 does not recount a segment that was retransmitted."
  ::= { rmtPeerEntry 16 }

rmtPeerUpTime OBJECT-TYPE
  SYNTAX      TimeTicks
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The time, in hundredths of a second, since the current control
 connection to the remote gateway was established.  This is the
 length of time that the current connection to the remote gateway
 has been up and running. If the remote gateway connection is
 currently down or disabled, this variable should return 0."
  ::= { rmtPeerEntry 17 }

rmtPeerDiscoveredPathMtuSize OBJECT-TYPE
  SYNTAX      INTEGER ( 0 .. 65535 )
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The Discovered Path Maximum Transmission Unit (MTU) Size, in bytes,
 is the MTU size that was discovered for the path used by this
 connection.  The Path MTU is determined at connection initiation,
 and when the connection is made aware of route changes.  The actual
 MTU used by the connnection is either the Discovered Path MTU or
 rmtPeerMaxMtuSize, whichever is smaller.  If the rmtPeerMaxMtuSize
 has not been set (indicated by a value of 0), then it is ignored."
  ::= { rmtPeerEntry 18 }

rmtPeerMaxMtuSize OBJECT-TYPE
  SYNTAX      INTEGER ( 0 .. 65535 )
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The maximum value, in bytes, that can be used for the Maximum
 Transmission Unit (MTU) Size for the connection.  This variable
 reflects what has been set for the TCP port that is hosting this
 connection.  The value for the port is set by using NISHAN-MGT
 fcswTCPMaxMtuSize.  This variable can used to prevent accidental
 fragmentation when the Path MTU value, as returned by paths used
 by this connection, is incorrect causing accidental fragmentation.
 If this variable is set to 0, the default setting, then it is
 ignored."
  ::= { rmtPeerEntry 19 }

rmtPeerRowStatus  OBJECT-TYPE
      SYNTAX      RowStatus
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
"This indicates the status of this entry.  The row status is for
 creating the row entry.  It does not show the status of the
 connection.  The connection status is determined by the Action
 and Status attributes.
      active (1),         read-write
      notInService (2),   read-write
      notReady (3),       read-only
      createAndGo (4),    write-only
      createAndWait (5),  write-only
      destroy (6),        write-only"
  ::= { rmtPeerEntry 20 }

rmtPeerTcpWindowSize OBJECT-TYPE
      SYNTAX      INTEGER ( 0 .. 8184 )
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION 
"DURABLE: { 0:all }
The TCP window size used for all TCP data connections in this 
iFCP remote connection, in KBytes.  The value configured here 
is rounded up to the next multiple of 8 KBytes internally.  

The TCP window size specifies how much outstanding data (data 
not yet acknowledged by the receiver) may be sent on one TCP 
connection.  The window size is also the receive buffer size 
for each TCP connection.  

The recommended TCP window size is the expected bandwidth 
multiplied by the round-trip time (RTT).  For example, the 
optimal window size for a 100 Mbit/sec connection with a 
5 msec RTT is 100Mbit/sec * .005 sec = 0.5Mbits or about 
65 KBytes.   

The value 0 is a special value meaning 'Auto'.  In Auto mode, 
the switch selects the optimal receive window size for each 
TCP connection independently.  The window size is based on 
the TCP stack measured round-trip times.  Each connection is 
adjusted dynamically as the connection's RTT changes.  In the 
case of oversubscription, buffering resources are distributed 
fairly across connections to the extent possible.  In the auto
mode, each connection has a minimum window size of 128 KB 
and a maximum window size of 8184 KB.

The TCP window size may be manually changed at any time by setting
this MIB variable.  The new value begins taking effect immediately.  
Large changes may take a few seconds to become fully effective, as 
the window size changes gradually.  TCP window size changes do not 
interrupt the remote gateway traffic."
      DEFVAL      { 0 }
      ::= { rmtPeerEntry 21 }

rmtConnectionCount OBJECT-TYPE
      SYNTAX      INTEGER (0..2147483647)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
"The current number of entries in rmtTable. This is a count
of all configured remote connections, including disabled and
down connections."
      ::= { remotePeer 2 }

-- Note: the rmtConnectionTable below is available only in switch 
--   software version 4.1 or later.  In earlier software versions, 
--   the rmtPeerTable is provided instead.

rmtConnectionTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF RmtConnectionEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION 
"The remote connection table contains the configured list of remote gateways.
 The remote connection table provides the ability to export zones to a remote
 peer gateway."
      ::= { remotePeer 3 }

rmtConnectionEntry  OBJECT-TYPE
      SYNTAX      RmtConnectionEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION 
"The information relating to the specified remote peer."
      INDEX       { rmtConnLocalGigeIndex, rmtConnPrimaryIPAddress }
      ::= { rmtConnectionTable 1 }

RmtConnectionEntry ::= SEQUENCE {
                rmtConnLocalGigeIndex        INTEGER,
                rmtConnPrimaryIPAddress      IpAddress,
                rmtConnFailoverIPAddress     IpAddress,
                rmtConnHoldTime              INTEGER,
                rmtConnExpZoneListBitMap     OCTET STRING,
                rmtConnAction                INTEGER,
                rmtConnConnectionStatus      INTEGER,
                rmtConnConnectionDesc        DisplayString,
                rmtConnRmtSanID              Unsigned32,
                rmtConnRcvBytes              Counter32,
                rmtConnXmtBytes              Counter32,
                rmtConnConnections           Gauge32,
                rmtConnLatency               Gauge32,
                rmtConnLostConnections       Counter32,
                rmtConnLostPackets           Counter32,
                rmtConnTotalPackets          Counter32,
                rmtConnUpTime                TimeTicks,
                rmtConnDiscoveredPathMtuSize INTEGER,
                rmtConnMaxMtuSize            INTEGER,
                rmtConnTcpWindowSize         INTEGER,
                rmtConnTcpTotalSlowStarts    Counter32,
                rmtConnRowStatus             RowStatus
}

rmtConnLocalGigeIndex OBJECT-TYPE
      SYNTAX      INTEGER ( 1 .. 16)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
"The Gigabit Ethernet port index on the local switch
being used for this connection."
      ::= { rmtConnectionEntry 1 }

rmtConnPrimaryIPAddress OBJECT-TYPE
      SYNTAX      IpAddress
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
"The external IP Address of the TCP port at the remote end
of this iFCP connection."
      ::= { rmtConnectionEntry 2 }

rmtConnFailoverIPAddress OBJECT-TYPE
      SYNTAX      IpAddress
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
"The IP Address of the failover remote peer gateway used
 to backup the primary peer gateway.  If no backup has
 been configured then the entry is set to all 0's."
      ::= { rmtConnectionEntry 3 }

rmtConnHoldTime   OBJECT-TYPE
    SYNTAX      INTEGER ( 10 .. 90 )
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
"The hold time, measured in seconds, used between the local
 and remote peers."
    DEFVAL      {30}
    ::= { rmtConnectionEntry 4 }

rmtConnExpZoneListBitMap OBJECT-TYPE
    SYNTAX      OCTET STRING ( SIZE (64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION 
"A bit map indicating the zones requested to be exported from the 
 local peer to the remote peer indicated.  Zone 1 is represented
 by the least significant bit (rightmost) of byte 0."
    ::= { rmtConnectionEntry 5 }

rmtConnAction     OBJECT-TYPE
    SYNTAX      INTEGER { disable(0), enable(1) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
"This connection is enabled by setting the remotePeerAction status
 to Enabled."
      DEFVAL      { disable }
    ::= { rmtConnectionEntry 6 }

rmtConnConnectionStatus  OBJECT-TYPE
    SYNTAX      INTEGER { down(0), standby(1), primaryactive(2),
                          failoveractive(3), backup(4) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
"This indicates the current status of the connection.
             down(0) - Connection is not operating.
          standby(1) - This value is not used.
    primaryactive(2) - The connection is up and running.
   failoveractive(3) - Connection is not operating.
           backup(4) - Connection is not operating.
The precise differences between values 0, 3, and 4 are not known.
"
    ::= { rmtConnectionEntry 7 }

rmtConnConnectionDesc  OBJECT-TYPE
      SYNTAX      DisplayString (SIZE (0..32))
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
"A string describing the connection.  Used for management purposes."
      DEFVAL      { "" }
    ::= { rmtConnectionEntry 8 }

rmtConnRmtSanID   OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
"The SAN ID of the remote SAN.  The format is a 4-Byte unsigned value.
 This is determined throught inter-gateway communication."
    ::= { rmtConnectionEntry 9 }

rmtConnRcvBytes   OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
"The total number of bytes received from the remote gateway since
 the connection was first established, including MAC headers and
 CRC."
  ::= { rmtConnectionEntry 10 }

rmtConnXmtBytes   OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
"The total number of bytes transmitted by this gateway since the
 connection was first established, including MAC headers and CRC."
  ::= { rmtConnectionEntry 11 }

rmtConnConnections  OBJECT-TYPE
    SYNTAX          Gauge32 
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
"The current number of initiator/target pair data connections,
 between the local and remote gateway, using the iFCP link.
 For example, if one local server uses four remote disks, four
 connections are counted."
    ::= { rmtConnectionEntry 12 }

rmtConnLatency OBJECT-TYPE
  SYNTAX      Gauge32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The round trip time (RTT) between the local and remote gateways,
 measured in milliseconds, of the most recent connection
 keep-alive message.  The RTT measurement is updated at one-third
 the interval of the rmtConnHoldTime of the connection."
  ::= { rmtConnectionEntry 13 }

rmtConnLostConnections OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The number of initiator/target pair data connections, between the
 local and remote gateway, that had to be abnormally terminated.
 The reason the connections were terminated may be because the
 hold time expired, the port link status went down, or other
 action that caused lost connectivity on the link."
  ::= { rmtConnectionEntry 14 }

rmtConnLostPackets OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The number of TCP segments sent by this gateway that had to be
 retransmitted."
  ::= { rmtConnectionEntry 15 }

rmtConnTotalPackets OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The number of TCP segments transmitted by this gateway.  This
 does not recount a segment that was retransmitted."
  ::= { rmtConnectionEntry 16 }

rmtConnUpTime OBJECT-TYPE
  SYNTAX      TimeTicks
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The time, in hundredths of a second, since the current control
 connection to the remote gateway was established.  This is the
 length of time that the current connection to the remote gateway
 has been up and running. If the remote gateway connection is
 currently down or disabled, this variable should return 0."
  ::= { rmtConnectionEntry 17 }

rmtConnDiscoveredPathMtuSize OBJECT-TYPE
  SYNTAX      INTEGER ( 0 .. 65535 )
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The Discovered Path Maximum Transmission Unit (MTU) Size, in bytes,
 is the MTU size that was discovered for the path used by this
 connection.  The Path MTU is determined at connection initiation,
 and when the connection is made aware of route changes.  The actual
 MTU used by the connnection is either the Discovered Path MTU or
 rmtConnMaxMtuSize, whichever is smaller.  If the rmtConnMaxMtuSize
 has not been set (indicated by a value of 0), then it is ignored."
  ::= { rmtConnectionEntry 18 }

rmtConnMaxMtuSize OBJECT-TYPE
  SYNTAX      INTEGER ( 0 .. 65535 )
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The maximum value, in bytes, that can be used for the Maximum
 Transmission Unit (MTU) Size for the connection.  This variable
 reflects what has been set for the TCP port that is hosting this
 connection.  The value for the port is set by using NISHAN-MGT
 fcswTCPMaxMtuSize.  This variable can used to prevent accidental
 fragmentation when the Path MTU value, as returned by paths used
 by this connection, is incorrect causing accidental fragmentation.
 If this variable is set to 0, the default setting, then it is
 ignored."
  ::= { rmtConnectionEntry 19 }

rmtConnTcpWindowSize OBJECT-TYPE
      SYNTAX      INTEGER ( 0 .. 8184 )
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION 
"DURABLE: { 0:all }
The TCP window size used for all TCP data connections in this 
iFCP remote connection, in KBytes.  The value configured here 
is rounded up to the next multiple of 8 KBytes internally.  

The TCP window size specifies how much outstanding data (data 
not yet acknowledged by the receiver) may be sent on one TCP 
connection.  The window size is also the receive buffer size 
for each TCP connection.  

The recommended TCP window size is the expected bandwidth 
multiplied by the round-trip time (RTT).  For example, the 
optimal window size for a 100 Mbit/sec connection with a 
5 msec RTT is 100Mbit/sec * .005 sec = 0.5Mbits or about 
65 KBytes.   

The value 0 is a special value meaning 'Auto'.  In Auto mode, 
the switch selects the optimal receive window size for each 
TCP connection independently.  The window size is based on 
the TCP stack measured round-trip times.  Each connection is 
adjusted dynamically as the connection's RTT changes.  In the 
case of oversubscription, buffering resources are distributed 
fairly across connections to the extent possible.  In the auto
mode, each connection has a minimum window size of 128 KB 
and a maximum window size of 8184 KB.

The TCP window size may be manually changed at any time by setting
this MIB variable.  The new value begins taking effect immediately.  
Large changes may take a few seconds to become fully effective, as 
the window size changes gradually.  TCP window size changes do not 
interrupt the remote gateway traffic."
      DEFVAL      { 0 }
      ::= { rmtConnectionEntry 20 }

rmtConnTcpTotalSlowStarts OBJECT-TYPE
      SYNTAX      Counter32
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
"The total number of TCP slow start congestion avoidance events
 (cumulative) incurred by the iFCP sessions (TCP connections)
 belonging to this remote gateway connection.  The count is
 incremented for any iFCP login session (TCP connection) associated
 with this remote peer.  This count is not changed when the iFCP
 sessions (TCP connections) come and go and simply reflects the
 condition between the pair of IP addresses in this remote peer
 connection. The remote peer connection is between the local
 gateway and a single remote gateway."
      ::= { rmtConnectionEntry 21 }

rmtConnRowStatus  OBJECT-TYPE
      SYNTAX      RowStatus
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
"This indicates the status of this entry.  The row status is for
 creating the row entry.  It does not show the status of the
 connection.  The connection status is determined by the Action
 and Status attributes.
      active (1),         read-write
      notInService (2),   read-write
      notReady (3),       read-only
      createAndGo (4),    write-only
      createAndWait (5),  write-only
      destroy (6),        write-only"
      ::= { rmtConnectionEntry 22 }


--
-- mFCP local peer Information
--

localPeer            OBJECT IDENTIFIER ::= { nishanGtwyPeer 3 }

lclPeerRedundantSupportTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF LclPeerEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION 
"The local peer redundant support table contains entries for
 each local peer that this gateway is providing backup support
 for.  It indicates the other gateway's IP-Address, which
 zones it is exporting, and to which SANs they are exported.
 This is the list of learned connections that this gateway
 is backing up."
      ::= { localPeer 1 }

lclPeerEntry OBJECT-TYPE
      SYNTAX      LclPeerEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION 
"An entry in the table providing information about a local peer
 that this gatway is providing backup support for."
      INDEX       { lclPeerIndex }
      ::= { lclPeerRedundantSupportTable 1 }

LclPeerEntry ::= SEQUENCE {
                  lclPeerIndex                 INTEGER,
                  lclPeerIPAddress             IpAddress,
                  lclPeerRemoteIPAddress       IpAddress,
                  lclPeerExpZoneListBitMap     OCTET STRING,
                  lclPeerConnectionStatus      INTEGER,
                  lclPeerGigeIndex             INTEGER,
                  lclPeerRemoteHoldTime        INTEGER,
                  lclPeerRmtSanID              Unsigned32,
                  lclPeerRcvBytes              Counter32,
                  lclPeerXmtBytes              Counter32,
                  lclPeerConnections           Gauge32,
                  lclPeerLatency               Gauge32,
                  lclPeerLostConnections       Counter32,
                  lclPeerLostPackets           Counter32,
                  lclPeerTotalPackets          Counter32,
                  lclPeerUpTime                TimeTicks,
                  lclPeerFailoverCount         Unsigned32,
                  lclPeerDiscoveredPathMtuSize INTEGER,
                  lclPeerTcpWindowSize         INTEGER
}

lclPeerIndex     OBJECT-TYPE
      SYNTAX      INTEGER(0..2147483647)
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION
"Used to index into the table."
            ::= { lclPeerEntry 1 }

lclPeerIPAddress OBJECT-TYPE
      SYNTAX      IpAddress
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
"The IP Address of a local peer gateway which this gateway
 is providing backup support for."
      ::= { lclPeerEntry 2 }

lclPeerRemoteIPAddress OBJECT-TYPE
      SYNTAX      IpAddress
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
"The IP Address of a remote peer gateway that the local peer
 gateway is exporting zones to."
      ::= { lclPeerEntry 3 }

lclPeerExpZoneListBitMap OBJECT-TYPE
    SYNTAX      OCTET STRING ( SIZE (64))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
"A bit map indicating the zones exported from the 
 local peer gateway to the remote peer gateway indicated. 
 These are the zones which this gateway would need to export
 if the local peer gateway failed.  Zone 1 is represented
 by the least significant bit (rightmost) of byte 0."
    ::= { lclPeerEntry 4 }

lclPeerConnectionStatus  OBJECT-TYPE
    SYNTAX      INTEGER { down(0), idle(1), primaryactive(2),
                          failoveractive(3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
"This indicates the current status of the connection.
           down(0) - backup connection is not operating.
           idle(1) - backup connection is ready but not activated.
  primaryactive(2) - backup connection is ready but not activated.
 failoveractive(3) - backup connection is active and running.
The precise differences between values 1 and 2 are not known.
"
    ::= { lclPeerEntry 5 }

lclPeerGigeIndex OBJECT-TYPE
      SYNTAX      INTEGER ( 1 .. 5 )
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
"The Gigabit Ethernet port index used for this connection."
      ::= { lclPeerEntry 6 }

lclPeerRemoteHoldTime OBJECT-TYPE
    SYNTAX      INTEGER ( 10 .. 90 )
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
"The hold time, in seconds, used between the local and remote
 peers."
    ::= { lclPeerEntry 7 }

lclPeerRmtSanID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
"The SAN ID of the remote SAN.  The format is a 4-Byte unsigned value.
 This is determined throught inter-gateway communication."
    ::= { lclPeerEntry 8 }

lclPeerRcvBytes OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The total number of bytes received from this remote gateway since 
 the remote gateway's connection was first established, including 
 MAC headers and CRC.  For some devices this count may be only 
 approximate, since the source gateway is only identified after 
 the MAC layer fields have been stripped off."
  ::= { lclPeerEntry 9}

lclPeerXmtBytes OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The total number of bytes transmitted by this remote gateway 
 since the remote gateway's connection was first established, 
 including MAC headers and CRC.  For some devices this count may be 
 only approximate, since the destination gateway is determined 
 before the MAC layer fields are added."
      ::= { lclPeerEntry 10}

lclPeerConnections OBJECT-TYPE
  SYNTAX      Gauge32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The current number of initiator/target pair data connections,
 between the local and remote gateway, using the iFCP link.
 For example, if one local server uses four remote disks, four
 connections are counted."
  ::= { lclPeerEntry 11}

lclPeerLatency OBJECT-TYPE
  SYNTAX      Gauge32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The round trip time (RTT) between the local and remote gateways,
 measured in milliseconds, of the most recent connection
 keep-alive message.  The RTT measurement is updated at one-third
 the interval of the rmtConnHoldTime of the connection."
  ::= { lclPeerEntry 12}

lclPeerLostConnections OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The number of times that the control connection to this remote 
gateway had to be abnormally terminated because the hold time expired, 
the port link status went down, or other indications of lost connectivity.  
This is a cumulative total of fatal network failures."
  ::= { lclPeerEntry 13}

lclPeerLostPackets OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The number of TCP segments sent by this gateway that had to be
 retransmitted."
  ::= { lclPeerEntry 14}

lclPeerTotalPackets OBJECT-TYPE
  SYNTAX      Counter32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The number of TCP segments transmitted by this gateway.  This
 does not recount a segment that was retransmitted."
  ::= { lclPeerEntry 15}

lclPeerUpTime OBJECT-TYPE
  SYNTAX      TimeTicks
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The time, in hundredths of a second, since the current control connection
 to the remote gateway was established.  This is the length of time that
 the current connection to the remote gateway has been up and running. If
 the remote gateway connection is currently down or inactive, this variable
 should return 0."
  ::= { lclPeerEntry 16}

lclPeerFailoverCount OBJECT-TYPE
  SYNTAX      Unsigned32
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The number of failover events to this connection that have occurred since
 the connection to the remote gateway was established (lclPeerUpTime).  If
 the link to the remote gateway goes down and is then restablished, then
 the failover count is reset to 0."
  ::= { lclPeerEntry 17}

lclPeerDiscoveredPathMtuSize OBJECT-TYPE
  SYNTAX      INTEGER ( 0 .. 65535 )
  MAX-ACCESS  read-only
  STATUS      current
  DESCRIPTION
"The Discovered Path Maximum Transmission Unit (MTU) Size, in bytes,
 is the MTU size that was discovered for the path used by this
 connection.  The Path MTU is determined at connection initiation,
 and when the connection is made aware of route changes.  The actual
 MTU used by the connnection is either the Discovered Path MTU or
 rmtConnMaxMtuSize, whichever is smaller.  If the rmtConnMaxMtuSize
 has not been set (indicated by a value of 0), then it is ignored."
  ::= { lclPeerEntry 18}

lclPeerTcpWindowSize OBJECT-TYPE
      SYNTAX      INTEGER ( 0 .. 8184 )
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION 
"The TCP window size used for all TCP data connections in this 
iFCP remote connection, in KBytes.    

The TCP window size specifies how much outstanding data (data 
not yet acknowledged by the receiver) may be sent on one TCP 
connection.  The window size is also the receive buffer size 
for each TCP connection.  

The value 0 is a special value meaning 'Auto'.  In Auto mode, 
the switch selects the optimal receive window size for each 
TCP connection independently.  The window size is based on 
the TCP stack measured round-trip times.  Each connection is 
adjusted dynamically as the connection's RTT changes.  In the 
case of oversubscription, buffering resources are distributed 
fairly across connections to the extent possible.  In the auto
mode, each connection has a minimum window size of 128 KB 
and a maximum window size of 8184 KB."
      ::= { lclPeerEntry 19 }

END